package algo3.core;

//import java.awt.event.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;


/*CLASE UTILITARIA Teclado*/
public final class Teclado implements KeyListener{
	/*ATRIBUTOS ESTATICOS*/
	private static Teclado instancia;
	
	/*ATRIBUTOS*/
	
	private boolean TeclaArriba, TeclaAbajo, TeclaShift, TeclaCtrl;
	
	private Teclado() {
		
	}
	
	/*Retorna la unica instancia posible de StreetRoadApplication.
	 * StreetRoadApplication es Singleton*/
	public static Teclado getInstancia() {
		if(instancia == null) {
			instancia = new Teclado();
		}
		return instancia;
	}
	
	
	/*GETTERS*/
	public boolean getEsTeclaArriba (){
		return TeclaArriba;
	}
	
	public boolean getEsTeclaAbajo (){
		return TeclaAbajo;
	}
	
	public boolean getEsTeclaControl (){
		return TeclaCtrl;
	}
	
	public boolean getEsTeclaShift (){
		return TeclaShift;
	}

	@Override
	public void keyPressed(KeyEvent e) {
		switch (e.getKeyCode()) {
		  case KeyEvent.VK_UP: 
			  TeclaArriba = true; 
			  break;
		  case KeyEvent.VK_DOWN: 
			  TeclaAbajo = true;
			  break;
		  case KeyEvent.VK_CONTROL:
			  TeclaCtrl = true;
			  break;
		  case KeyEvent.VK_SHIFT:
			  TeclaShift = true;
			  break;
	}
		
	}

	@Override
	public void keyReleased(KeyEvent e) {
		switch (e.getKeyCode()) {
		  case KeyEvent.VK_UP: 
			  TeclaArriba = false; 
			  break;
		  case KeyEvent.VK_DOWN: 
			  TeclaAbajo = false;
			  break;
		  case KeyEvent.VK_CONTROL:
			  TeclaCtrl = false;
			  break;
		  case KeyEvent.VK_SHIFT:
			  TeclaShift = false;
			  break;
 	}
		
	}

	@Override
	public void keyTyped(KeyEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	

}
